home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 26 / Cream of the Crop 26.iso / program / ddj0897.zip / DYN401.ZIP / class / charary.c < prev    next >
C/C++ Source or Header  |  1997-04-16  |  8KB  |  320 lines

  1.  
  2.  
  3. /*  Copyright (c) 1993-1996 Algorithms Corporation  */
  4. /*  All rights reserved.  */
  5.  
  6.  
  7.  
  8.  
  9. /*  This file automatically generated by dpp - do not edit  */
  10.  
  11. #define    DPP_STRATEGY    2
  12. #define    DPP_FASTWIDE    0
  13.  
  14.  
  15.  
  16. #line 18 "charary.d"
  17. #include "array1.h" 
  18.  
  19. #define    CLASS    CharacterArray_c
  20. #define    ivType    CharacterArray_iv_t
  21.  
  22. #include "generics.h"
  23.  
  24. object    CharacterArray_c;
  25.  
  26.  
  27. #line 25 "charary.d"
  28. #define TYPE char 
  29.  
  30.  
  31. static gIndex_t _index; 
  32.  
  33.  
  34. cvmeth objrtn CharacterArray_cvm_vNew(object self, va_list _rest_)
  35.     unsigned rank = va_arg(_rest_, unsigned);
  36.  
  37. #line 33 "charary.d"
  38.     static gNewArray_t cnew = NULL; 
  39.     MAKE_REST(rank); 
  40.  
  41.     if (!cnew) 
  42.         cnew = cmcPointer(Array, gNewArray); 
  43.     return cnew(self, AT_CHAR, rank, _rest_); 
  44.  
  45. #line 48 "charary.c"
  46.  
  47. static    objrtn    CharacterArray_cfm_vNew(object self, ...)
  48. {
  49.     va_list    _rest_;
  50.     va_start(_rest_, self);
  51.     return CharacterArray_cvm_vNew(self, _rest_);
  52. }
  53.  
  54.  
  55.  
  56. #line 41 "charary.d"
  57. ivmeth char CharacterArray_ivm_vCharValue(object self, va_list _rest_)
  58.     MAKE_REST(self); 
  59.     return (char) *((TYPE *) _index(self, _rest_)); 
  60.  
  61. #line 66 "charary.c"
  62.  
  63. static    char    CharacterArray_ifm_vCharValue(object self, ...)
  64. {
  65.     va_list    _rest_;
  66.     va_start(_rest_, self);
  67.     return CharacterArray_ivm_vCharValue(self, _rest_);
  68. }
  69.  
  70.  
  71.  
  72. #line 47 "charary.d"
  73. ivmeth short CharacterArray_ivm_vShortValue(object self, va_list _rest_)
  74.     MAKE_REST(self); 
  75.     return (short) *((TYPE *) _index(self, _rest_)); 
  76.  
  77. #line 84 "charary.c"
  78.  
  79. static    short    CharacterArray_ifm_vShortValue(object self, ...)
  80. {
  81.     va_list    _rest_;
  82.     va_start(_rest_, self);
  83.     return CharacterArray_ivm_vShortValue(self, _rest_);
  84. }
  85.  
  86.  
  87.  
  88. #line 53 "charary.d"
  89. ivmeth unsigned short CharacterArray_ivm_vUnsignedShortValue(object self, va_list _rest_)
  90.     MAKE_REST(self); 
  91.     return (unsigned short) *((TYPE *) _index(self, _rest_)); 
  92.  
  93. #line 102 "charary.c"
  94.  
  95. static    unsigned short    CharacterArray_ifm_vUnsignedShortValue(object self, ...)
  96. {
  97.     va_list    _rest_;
  98.     va_start(_rest_, self);
  99.     return CharacterArray_ivm_vUnsignedShortValue(self, _rest_);
  100. }
  101.  
  102.  
  103.  
  104. #line 59 "charary.d"
  105. ivmeth long CharacterArray_ivm_vLongValue(object self, va_list _rest_)
  106.     MAKE_REST(self); 
  107.     return (long) *((TYPE *) _index(self, _rest_)); 
  108.  
  109. #line 120 "charary.c"
  110.  
  111. static    long    CharacterArray_ifm_vLongValue(object self, ...)
  112. {
  113.     va_list    _rest_;
  114.     va_start(_rest_, self);
  115.     return CharacterArray_ivm_vLongValue(self, _rest_);
  116. }
  117.  
  118.  
  119.  
  120. #line 65 "charary.d"
  121. ivmeth double CharacterArray_ivm_vDoubleValue(object self, va_list _rest_)
  122.     MAKE_REST(self); 
  123.     return (double) *((TYPE *) _index(self, _rest_)); 
  124.  
  125. #line 138 "charary.c"
  126.  
  127. static    double    CharacterArray_ifm_vDoubleValue(object self, ...)
  128. {
  129.     va_list    _rest_;
  130.     va_start(_rest_, self);
  131.     return CharacterArray_ivm_vDoubleValue(self, _rest_);
  132. }
  133.  
  134.  
  135.  
  136. #line 71 "charary.d"
  137. ivmeth objrtn CharacterArray_ivm_vChangeValue(object self, va_list _rest_)
  138. { object val = va_arg(_rest_, object);
  139.     MAKE_REST(val); 
  140.     ChkArg(val, 2); 
  141.     *((TYPE *) _index(self, _rest_)) = gCharValue(val); 
  142.     return self; 
  143.  
  144. #line 158 "charary.c"
  145.  
  146. static    objrtn    CharacterArray_ifm_vChangeValue(object self, ...)
  147. {
  148.     va_list    _rest_;
  149.     va_start(_rest_, self);
  150.     return CharacterArray_ivm_vChangeValue(self, _rest_);
  151. }
  152.  
  153.  
  154.  
  155. #line 79 "charary.d"
  156. ivmeth objrtn CharacterArray_ivm_vChangeCharValue(object self, va_list _rest_)
  157. { int val = va_arg(_rest_, int);
  158.     MAKE_REST(val); 
  159.     *((TYPE *) _index(self, _rest_)) = (TYPE) val; 
  160.     return self; 
  161.  
  162. #line 177 "charary.c"
  163.  
  164. static    objrtn    CharacterArray_ifm_vChangeCharValue(object self, ...)
  165. {
  166.     va_list    _rest_;
  167.     va_start(_rest_, self);
  168.     return CharacterArray_ivm_vChangeCharValue(self, _rest_);
  169. }
  170.  
  171.  
  172.  
  173. #line 86 "charary.d"
  174. ivmeth objrtn CharacterArray_ivm_vChangeShortValue(object self, va_list _rest_)
  175. { int val = va_arg(_rest_, int);
  176.     MAKE_REST(val); 
  177.     *((TYPE *) _index(self, _rest_)) = (TYPE) val; 
  178.     return self; 
  179.  
  180. #line 196 "charary.c"
  181.  
  182. static    objrtn    CharacterArray_ifm_vChangeShortValue(object self, ...)
  183. {
  184.     va_list    _rest_;
  185.     va_start(_rest_, self);
  186.     return CharacterArray_ivm_vChangeShortValue(self, _rest_);
  187. }
  188.  
  189.  
  190.  
  191. #line 93 "charary.d"
  192. ivmeth objrtn CharacterArray_ivm_vChangeUShortValue(object self, va_list _rest_)
  193. { unsigned val = va_arg(_rest_, unsigned);
  194.     MAKE_REST(val); 
  195.     *((TYPE *) _index(self, _rest_)) = (TYPE) val; 
  196.     return self; 
  197.  
  198. #line 215 "charary.c"
  199.  
  200. static    objrtn    CharacterArray_ifm_vChangeUShortValue(object self, ...)
  201. {
  202.     va_list    _rest_;
  203.     va_start(_rest_, self);
  204.     return CharacterArray_ivm_vChangeUShortValue(self, _rest_);
  205. }
  206.  
  207.  
  208.  
  209. #line 100 "charary.d"
  210. ivmeth objrtn CharacterArray_ivm_vChangeLongValue(object self, va_list _rest_)
  211. { long val = va_arg(_rest_, long);
  212.     MAKE_REST(val); 
  213.     *((TYPE *) _index(self, _rest_)) = (TYPE) val; 
  214.     return self; 
  215.  
  216. #line 234 "charary.c"
  217.  
  218. static    objrtn    CharacterArray_ifm_vChangeLongValue(object self, ...)
  219. {
  220.     va_list    _rest_;
  221.     va_start(_rest_, self);
  222.     return CharacterArray_ivm_vChangeLongValue(self, _rest_);
  223. }
  224.  
  225.  
  226.  
  227. #line 107 "charary.d"
  228. ivmeth objrtn CharacterArray_ivm_vChangeDoubleValue(object self, va_list _rest_)
  229. { double val = va_arg(_rest_, double);
  230.     MAKE_REST(val); 
  231.     *((TYPE *) _index(self, _rest_)) = (TYPE) val; 
  232.     return self; 
  233.  
  234. #line 253 "charary.c"
  235.  
  236. static    objrtn    CharacterArray_ifm_vChangeDoubleValue(object self, ...)
  237. {
  238.     va_list    _rest_;
  239.     va_start(_rest_, self);
  240.     return CharacterArray_ivm_vChangeDoubleValue(self, _rest_);
  241. }
  242.  
  243.  
  244. #line 114 "charary.d"
  245. static void class_init(void) 
  246.     _index = imcPointer(Array, gIndex); 
  247.  
  248. #line 269 "charary.c"
  249.  
  250. objrtn    CharacterArray_initialize(void)
  251. {
  252.     static  CRITICALSECTION  cs;
  253.     static  int volatile once = 0;
  254.  
  255.     ENTERCRITICALSECTION(_CI_CS_);
  256.     if (!once) {
  257.         INITIALIZECRITICALSECTION(cs);
  258.         once = 1;
  259.     }
  260.     LEAVECRITICALSECTION(_CI_CS_);
  261.  
  262.     ENTERCRITICALSECTION(cs);
  263.  
  264.     if (CharacterArray_c) {
  265.         LEAVECRITICALSECTION(cs);
  266.         return CharacterArray_c;
  267.     }
  268.     INHIBIT_THREADER;
  269.     NumberArray_initialize();
  270.     if (CharacterArray_c)  {
  271.         ENABLE_THREADER;
  272.         LEAVECRITICALSECTION(cs);
  273.         return CharacterArray_c;
  274.     }
  275.     CharacterArray_c = gNewClass(Class, "CharacterArray", 0, 0, NumberArray, END);
  276.     cvMethodFor(CharacterArray, vNew, CharacterArray_cvm_vNew, CharacterArray_cfm_vNew);
  277.     ivMethodFor(CharacterArray, vCharValue, CharacterArray_ivm_vCharValue, CharacterArray_ifm_vCharValue);
  278.     ivMethodFor(CharacterArray, vChangeUShortValue, CharacterArray_ivm_vChangeUShortValue, CharacterArray_ifm_vChangeUShortValue);
  279.     ivMethodFor(CharacterArray, vChangeValue, CharacterArray_ivm_vChangeValue, CharacterArray_ifm_vChangeValue);
  280.     ivMethodFor(CharacterArray, vLongValue, CharacterArray_ivm_vLongValue, CharacterArray_ifm_vLongValue);
  281.     ivMethodFor(CharacterArray, vChangeCharValue, CharacterArray_ivm_vChangeCharValue, CharacterArray_ifm_vChangeCharValue);
  282.     ivMethodFor(CharacterArray, vUnsignedShortValue, CharacterArray_ivm_vUnsignedShortValue, CharacterArray_ifm_vUnsignedShortValue);
  283.     ivMethodFor(CharacterArray, vChangeDoubleValue, CharacterArray_ivm_vChangeDoubleValue, CharacterArray_ifm_vChangeDoubleValue);
  284.     ivMethodFor(CharacterArray, vDoubleValue, CharacterArray_ivm_vDoubleValue, CharacterArray_ifm_vDoubleValue);
  285.     ivMethodFor(CharacterArray, vChangeShortValue, CharacterArray_ivm_vChangeShortValue, CharacterArray_ifm_vChangeShortValue);
  286.     ivMethodFor(CharacterArray, vChangeLongValue, CharacterArray_ivm_vChangeLongValue, CharacterArray_ifm_vChangeLongValue);
  287.     ivMethodFor(CharacterArray, vShortValue, CharacterArray_ivm_vShortValue, CharacterArray_ifm_vShortValue);
  288.  
  289.     class_init();
  290.  
  291.     ENABLE_THREADER;
  292.  
  293.     LEAVECRITICALSECTION(cs);
  294.  
  295.     return CharacterArray_c;
  296. }
  297.  
  298.  
  299.  
  300.